package com.lianjing.sh.acceleo.controller.tool.service;

import java.util.List;

import org.eclipse.uml2.uml.NamedElement;
import org.junit.Assert;
import org.junit.Test;

public class Name_File_Service{

//	private static final NameService Name_Service = new NameService();
//	
//	/**
//	 * 后缀：
//	 * :${} : 文件, 文件验证属性  {img png gif}{5bit-50B} -> {文件格式}{文件大小范围}
//	 */
//	private static String name1 = " ( abc ) 123:id!~@*^#&${ img png gif }{ 5bit-50B } < ? , ? > = 'xyz' ( def )";
//	private static String name2 = " 123:id!~@*^#&${ img png gif } < ? , ? > = 'xyz' ( def )";
//	private static String name3 = " ( abc ) 123:!~@*^#&${ }{ 5bit-50B } < ? , ? > = 'xyz' ";
//	private static String name4 = " 123:id!~@*^#&${ }{ }{ 50 -  * 100 -  } < ? , ? > = 'xyz' ";
//	private static String nameC = " ( abc ) 123:c!~@*^#&${ img png gif }{ 5bit-50B }{ 50 - 100 * 100 - 200 } < ? , ? > = 'xyz' ( def ) ";
//	private static String nameC_1 = " :c!~@*^#&$ < ? , ? > ( def ) ";

//	/**
//	 * ( abc ) 123:id!~@*^#&${ img png gif }{5bit-50B }{ 50 - 100 * 100 - 200} <?,?> = 'xyz' ( def ) -> img png gif
//	 */
//	public String getFileTypePropertyString(NamedElement element){
//		return getFileTypePropertyString(element.getName());
//	}
//	public String getFileTypePropertyString(String name){
//		if(null == name){
//			return "";
//		}
//		List<String> paras = Name_Service.getNameAttrParas(name, "$");
//		if(!paras.isEmpty()){
//			return paras.get(0);
//		}
//		return "";
//	}
//	@Test
//	public void testGetFileTypePropertyString() {
//		Name_File_Service service = new Name_File_Service();
//		Assert.assertEquals("img png gif", service.getFileTypePropertyString(name1));
//		Assert.assertEquals("img png gif", service.getFileTypePropertyString(name2));
//		Assert.assertEquals("", service.getFileTypePropertyString(name3));
//		Assert.assertEquals("", service.getFileTypePropertyString(name4));
//		Assert.assertEquals("img png gif", service.getFileTypePropertyString(nameC));
//		Assert.assertEquals("", service.getFileTypePropertyString(nameC_1));
//	}
	
//	/**
//	 * ( abc ) 123:id!~@*^#{}&${ img png gif }{5bit-50B}{ 50 - 100 * 100 - 200} <?,?> = 'xyz' ( def ) -> 5bit-50B
//	 */
//	public String getFileSizePropertyString(NamedElement element){
//		return getFileSizePropertyString(element.getName());
//	}
//	public String getFileSizePropertyString(String name){
//		if(null == name){
//			return "";
//		}
//		List<String> paras = Name_Service.getNameAttrParas(name, "$");
//		if(paras.size()>1){
//			return paras.get(1);
//		}
//		return "";
//	}
//	@Test
//	public void testGetFileSizePropertyString() {
//		Name_File_Service service = new Name_File_Service();
//		Assert.assertEquals("5bit-50B", service.getFileSizePropertyString(name1));
//		Assert.assertEquals("", service.getFileSizePropertyString(name2));
//		Assert.assertEquals("5bit-50B", service.getFileSizePropertyString(name3));
//		Assert.assertEquals("", service.getFileSizePropertyString(name4));
//		Assert.assertEquals("5bit-50B", service.getFileSizePropertyString(nameC));
//		Assert.assertEquals("", service.getFileSizePropertyString(nameC_1));
//	}
	
//	/**
//	 * ( abc ) 123:id!~@*^#&${ img png gif }{5bit-50B}{50 - 100 * 100 - 200} <?,?> = 'xyz' ( def ) -> 50 - 100 * 100 - 200
//	 */
//	public String getImgSizePropertyString(NamedElement element){
//		return getImgSizePropertyString(element.getSimpleName());
//	}
//	public String getImgSizePropertyString(String name){
//		if(null == name){
//			return "";
//		}
//		List<String> paras = Name_Service.getNameAttrParas(name, "$");
//		if(paras.size()>2){
//			return paras.get(2);
//		}
//		return "";
//	}
//	@Test
//	public void testGetImgFileTypePropertyString() {
//		Name_File_Service service = new Name_File_Service();
//		Assert.assertEquals("50 - 100 * 100 - 200", service.getImgSizePropertyString(name1));
//		Assert.assertEquals("", service.getImgSizePropertyString(name2));
//		Assert.assertEquals("", service.getImgSizePropertyString(name3));
//		Assert.assertEquals("50 -  * 100 -", service.getImgSizePropertyString(name4));
//		Assert.assertEquals("50 - 100 * 100 - 200", service.getImgSizePropertyString(nameC));
//		Assert.assertEquals("", service.getImgSizePropertyString(nameC_1));
//	}

}
